home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-09-25 | 6.8 KB | 203 lines | [TEXT/CWIE] |
- // ===========================================================================
- // <PP Starter Header>.h ©1994-1995 Metrowerks Inc. All rights reserved.
- // ===========================================================================
-
- #pragma once
-
- #ifndef FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE
- #define FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE 1
- #define FOR_SYSTEM8_PREEMPTIVE 0
- #define FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE 1
- #define FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED 1
- #endif
-
- #include <LApplication.h>
- #include <LWindow.h>
- #include <LStdControl.h>
- #include <LListener.h>
- #include <LTextEdit.h>
-
- #include <TextCommon.h>
- #include <Unicode.h>
- #include <TextEncodingConverter.h>
-
- typedef TextEncodingRun** TextEncodingRunHdl;
- typedef ScriptCodeRun** ScriptCodeRunHdl;
-
- const UInt32 kMaxInput = 128;
- const UInt32 kMaxOutput = kMaxInput*4;
- const UInt32 kMaxMappings = 128;
- const UInt32 kMaxLen = 60;
- const UInt32 kMaxNameLen = 61;
-
- const short kFileMenu = 129;
-
-
- const OSStatus kUnicodeFirstError = -8789;
- const OSStatus kUnicodeLastError = -8738;
- const OSStatus kIllegalHexString = -8737;
-
- const int kIllegalConverter = 0;
- const int kUnicodeConverter = 1;
- const int kHighLevelConverter = 2;
-
- #define USEHLC 1
-
- class CPPStarterApp : public LApplication {
- public:
- TextEncoding mAvailableMappings[kMaxMappings];
- unsigned char mAvailableMappingNames[kMaxMappings][kMaxNameLen+1];
- UInt32 mNumMappings;
-
-
- CPPStarterApp(); // constructor registers all PPobs
- virtual ~CPPStarterApp(); // stub destructor
-
- // this overriding function performs application functions
-
- virtual Boolean ObeyCommand(CommandT inCommand, void* ioParam);
-
- // this overriding function returns the status of menu items
-
- virtual void FindCommandStatus(CommandT inCommand,
- Boolean &outEnabled, Boolean &outUsesMark,
- Char16 &outMark, Str255 outName);
-
- OSStatus GetMappings();
-
- OSStatus DoConvert( const Handle fromHexText, UInt32 fromLen, UInt32 fromEncoding,
- Handle toHexText, ByteCount &inputRead, ByteCount &outputLen, ByteCount &toLen,
- UInt32 toEncoding, TextEncodingRunHdl &theRuns, UInt32 fromUnicodeFlags, UInt32 toUnicodeFlags, Boolean wantHexOutput);
-
- OSStatus DoConvertToUnicode( TextEncoding unicodeMapping, UInt32 toUnicodeFlags, TextEncoding fromEncoding, Handle srcHLocked, ByteCount srcLen,
- Handle destHLocked, ByteCount &inputRead, ByteCount &unicodeLen, ByteCount maxOutput);
-
- OSStatus DoConvertToEncoding( TextEncoding fromEncoding, UInt32 fromUnicodeFlags, TextEncoding toEncoding, Handle srcHLocked, ByteCount srcLen,
- Handle destHLocked, ByteCount &inputRead, ByteCount &outputLen, ByteCount maxOutput);
- OSStatus ConvertFromMulti( TextEncoding unicodeEncoding, const Handle fromHexText, TEStyleHandle theStyle,UInt32 fromLen,
- Handle &toHexText, ByteCount &inputRead, ByteCount &outputLen, ByteCount &toLen,
- ByteCount** &theRuns, UInt32 toUnicodeFlags);
- OSStatus DoConvertToMultiple( TextEncoding unicodeEncoding, UInt32 fromUnicodeFlags, TextEncodingRunHdl &theRuns, Handle srcHLocked, ByteCount srcLen,
- Handle destHLocked, ByteCount &inputRead, ByteCount &outputLen, ByteCount maxOutput);
-
- OSStatus DoConvertUsingHLC( TextEncoding fromTextEncoding, Handle srcHLocked, ByteCount fromTextLen,
- TextEncoding toTextEncoding, Handle destHLocked, ByteCount toTextLen,
- ByteCount &inputRead, ByteCount &outputLen );
-
- virtual void ShowAboutBox();
-
- void ResolveConversionParams( UInt32 fromEncodingIndex, TextEncoding *fromTextEncoding,
- UInt32 toEncoding, TextEncoding *toTextEncoding, int *converterToUse );
-
- Boolean IsUnicode( TextEncoding encoding );
- protected:
-
- virtual void StartUp(); // overriding startup functions
-
- };
-
-
- class CUnicodeTablesPopup : public LStdPopupMenu {
- public:
- enum { class_ID = 'CuPp' };
-
- static CUnicodeTablesPopup* CreateUnicodeTablesPopupStream(LStream *inStream);
- CUnicodeTablesPopup(const SPaneInfo &inPaneInfo,
- MessageT inValueMessage, Int16 inTitleOptions,
- ResIDT inMENUid, Int16 inTitleWidth,
- Int16 inPopupVariation, ResIDT inTextTraitsID,
- Str255 inTitle, OSType inResTypeMENU,
- Int16 inInitialMenuItem);
- CUnicodeTablesPopup(const SPaneInfo &inPaneInfo,
- MessageT inValueMessage, Int32 inMaxValue,
- ResIDT inTextTraitsID, ControlHandle inMacControlH);
- CUnicodeTablesPopup(LStream *inStream);
-
- void FillMenuWithUnicodeTables(void);
-
- virtual ~CUnicodeTablesPopup() ;
- };
-
- class CFontMenuPopup : public LStdPopupMenu {
- public:
- ScriptCode mInstalledFonts[128];
-
- enum { class_ID = 'CsPp' };
-
- static CFontMenuPopup* CreateFontMenuPopupStream(LStream *inStream);
- CFontMenuPopup(const SPaneInfo &inPaneInfo,
- MessageT inValueMessage, Int16 inTitleOptions,
- ResIDT inMENUid, Int16 inTitleWidth,
- Int16 inPopupVariation, ResIDT inTextTraitsID,
- Str255 inTitle, OSType inResTypeMENU,
- Int16 inInitialMenuItem);
- CFontMenuPopup(const SPaneInfo &inPaneInfo,
- MessageT inValueMessage, Int32 inMaxValue,
- ResIDT inTextTraitsID, ControlHandle inMacControlH);
- CFontMenuPopup(LStream *inStream);
-
- void FillFontMenu(void);
- ScriptCode GetSelectedScript(void);
- void SetMValue(ScriptCode theValue);
- void SetValueByFont(SInt16 font);
-
- virtual ~CFontMenuPopup() ;
- };
-
- class CUnicodeHubWindow : public LWindow, public LListener {
- UInt32 mFromUnicodeFlags;
- UInt32 mToUnicodeFlags;
-
- public:
- enum { class_ID = 'CuWi' };
-
- static CUnicodeHubWindow* CreateUnicodeHubWindowStream(LStream *inStream);
-
- void InitUnicodeHubWindow(void);
- CUnicodeHubWindow(LStream *inStream);
- CUnicodeHubWindow(
- const SWindowInfo &inWindowInfo);
- CUnicodeHubWindow(
- ResIDT inWINDid,
- Uint32 inAttributes,
- LCommander *inSuperCommander);
-
- virtual void ListenToMessage( MessageT inMessage, void *ioParam );
- void ConvertButtonHit( MessageT inMessage );
- void ConvertTextToHex( MessageT inMessage );
-
-
- };
-
- class CStyleText : public LTextEdit {
-
- public:
- short mCurKeyScript;
- enum { class_ID = 'texS' };
-
- static CStyleText* CreateStyleTextEditStream(LStream *inStream);
- CStyleText(LStream *inStream);
-
- CStyleText(const SPaneInfo &inPaneInfo,
- const SViewInfo &inViewInfo,
- Uint16 inTextAttributes,
- ResIDT inTextTraitsID);
- virtual Boolean FocusDraw();
- virtual void SpendTime(const EventRecord &inMacEvent);
- virtual void Click( SMouseDownEvent &inMouseDown) ;
- virtual Boolean ObeyCommand(CommandT inCommand, void *ioParam);
-
- protected:
- virtual void BeTarget();
- private:
- void InitStyleTextEdit(ResIDT inTextTraitsID);
-
-
- };
-
- Boolean FromHexToString( unsigned char* str, ByteCount length, unsigned char* dest, ByteCount &actualLen);
- void BufToHex( const unsigned char* src, unsigned char* dest, ByteCount srcLen, ByteCount &destLen, UInt8 clumpSize);
-
-
- extern CPPStarterApp* gTheApp;
-